package file;

import object.Point;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Iterator;

public class FileTestDemo2 {
    public static void main(String[] args) throws IOException {
        // 创建一个文件对象
        File file=new File("demo.txt");
        //getName 获取文件的名称
        String s=file.getName();
        //.length() 获取文件的大小
        long l=file.length();
        //canRead() 判断文件的可读性
        boolean b=file.canRead();
        //canWrite() 判断文件是否可写
        boolean b1=file.canWrite();
        //isHidden() 判断文件是否是隐藏的
        boolean b2=file.isHidden();

        //exists() 判断文件是否存在
        if (file.exists()){
            System.out.println("文件存在");
        }else {
            System.out.println("文件不存在");
        }
        File file1=new File("demo1.txt");
        //创建新的文件
        if (file1.exists()){
            System.out.println("文件存在");
        }else {
            file1.createNewFile();//抛出IO异常
            System.out.println("文件已创建");
        }
        //delect() 删除文件
        if (file1.exists()){
            file1.delete();
            System.out.println("文件已删除");
        }else {
            System.out.println("文件不存在");
        }
        //mkDir() 创建目录
        //mkDirs() 创建多级的目录
        File dir=new File("a/b/c");
        if (dir.exists()){
            System.out.println("目录存在");
        }else {
            dir.mkdir();
            //dir.mkdirs();//需要用mkdirs()创建多级目录
            //创建目录，不能创建多级目录，此时创建失败,但是没有提示
        }
        //isDirectory() 判断是否是目录
        if (file1.isDirectory()){
            System.out.println("是目录");
            //listFiles() 获取目录下的所有文件
            File[] files=file1.listFiles();
            System.out.println("files目录数组:"+ Arrays.toString(files));
            //delete()
            file1.delete();
            System.out.println("目录已删除");
        }else {
            System.out.println("不是目录");
        }
        //isFile() 判断是否是文件
        if (file1.isFile()){
            System.out.println("是文件");
        }else {
            System.out.println("不是文件");
        }
        File[] files=file.listFiles((file3)->{
            return file3.getName().endsWith(".txt");
        });
        //获取文件的路径
        int i= 2;
        double prince=Double.valueOf(i);

    }
}
class Aoo implements Comparator<Point> {
    @Override
    public int compare(Point o1, Point o2){
        int lens1=o1.getX()*o1.getX()+o1.getY()*o1.getY();
        int lens2=o2.getX()*o2.getX()+o2.getY()*o2.getY();
        return lens1-lens2;
    }
}